<V.3版>
DMA式 WAVプレーヤー
(→プロジェクトファイル(Harmony Ver.3版 MHC v3.8.0) ダウンロード)
ここで紹介するWAVプレーヤは、SDカードの中にあるWAVファイルのサウンドデータをPIC32MZのRAMにSPIで読込み、 このデータを 44.1KHz毎に別のSPIバッファに書き込んで、外付けのDAコンバータ(MCP4922)に転送して演奏しています。 DMA転送は RAMに読み込まれたデータをSPIのバッファーに書き込む部分で行われています。 |
<仕様> | |||||||||||||||||
・ | SDカードにあるWAVファイルを再生するプレーヤーをPIC32MZを用いて製作すること | ||||||||||||||||
・ | 再生対象のWAVファイルは、ステレオ16ビット、44.1KHzのみとする。 | ||||||||||||||||
・ | SPIモジュールのSPI4を用いて12ビットDAコンバータMCP4922にLチャンネルのデータのみのデータを転送、再生すること | ||||||||||||||||
・ | WAVファイルの読み出し、DAコンバータへの書き出しは以下のような”ダブルバッファ方式”とすること ➀SDカードの読み出しは SPI6とし、サウンドデータ読み出しのバッファは2個(仮称 バッファーA, バッファーB)とし、交互にデータを読みこむこと。 ➁バッファA、バッファBから44.1KHz毎にSPI4のバッファに書き出す ③バッファAへの読み込みはバッファAからSPI4への書き込みが完了した後に行う。 同様にバッファBへの読み込みはバッファBからSPI4への書き込みが完了した後に行う。 |
||||||||||||||||
・ | バッファA、及びバッファーBからSPI4への書き込みはDMA転送を用いること | ||||||||||||||||
・ | WAVファイルを再生/停止のボタンスイッチをもうけること | ||||||||||||||||
・ | 演奏曲を演奏中でもスキップできるボタンスイッチをもうけること。SDカード内のすべてのWAVファイルを再生したら最初のファイルに戻ること | ||||||||||||||||
・ | キャラクタ液晶に演奏中のWAVファイルのファイル名を表示すること | ||||||||||||||||
SDカード脱着、ファイルオープン失敗、ダブルバッファ動作状態に係るLED表示を行うこと (コンデンサを追加しないとスピーカアンプの入力に直流が印加されてしまいます。必ず挿入してから通電してください) |
|||||||||||||||||
・ | DAコンバータMCP4922の出力とアンプの間に 100μFのコンデンサを挿入すること (参考)以下の写真はRCAコネクタの信号部分に SMCの3216(L3.2 x W1.6 x H1.6mm) 6v 100μFの積層セラミックコンデンサをハンダ付けしたものです。 |
||||||||||||||||
<回路図> ( → PDF) | |||||||||||||||||
![]() |
|||||||||||||||||
<外観>PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。 汎用モジュール評価ボード(段積みボード)には本テーマと関係ない部品が多々実装されています。 |
|||||||||||||||||
|
|||||||||||||||||
<動作結果> (→ サウンド付き動画) | |||||||||||||||||
![]() |
|||||||||||||||||
|
|||||||||||||||||
演奏中のファイル名の表示結果("エデンの東"を演奏中の場合): 上段が演奏中のファイル名です ![]() |
|||||||||||||||||
|
|||||||||||||||||
<解説> プロジェクトファイルを精読願います |